﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DiscoveryLogic.DataViz.NetworkDiagram.NetworkData
{
    /// <summary>
    /// 
    /// </summary>
    [Serializable]
    public class PublicationDO : BaseEntity
    {
        /// <summary>
        /// 
        /// </summary>
        public PublicationDO(string idField, string nameField)
            :base(NetworkData.EntityType.Publications, idField, nameField)
        {
        }

        #region props
        private int _PMID;
        /// <summary></summary>
        public int PMID
        {
            get
            {
                return this._PMID;
            }
            set
            {
                this._PMID = value;
            }
        }

        private string _Title;
        /// <summary></summary>
        public string Title
        {
            get
            {
                return this._Title;
            }
            set
            {
                this._Title = value;
            }
        }

        private string _Authors;
        /// <summary></summary>
        public string Authors
        {
            get
            {
                return this._Authors;
            }
            set
            {
                this._Authors = value;
            }
        }

        private string _ContactAuthorEmail;
        /// <summary></summary>
        public string ContactAuthorEmail
        {
            get
            {
                return this._ContactAuthorEmail;
            }
            set
            {
                this._ContactAuthorEmail = value;
            }
        }

        private string _ContactAuthorAddress;
        /// <summary></summary>
        public string ContactAuthorAddress
        {
            get
            {
                return this._ContactAuthorAddress;
            }
            set
            {
                this._ContactAuthorAddress = value;
            }
        }

        private DateTime _PubDate;
        /// <summary></summary>
        public DateTime PubDate
        {
            get
            {
                return this._PubDate;
            }
            set
            {
                this._PubDate = value;
            }
        }
        #endregion

        #region Overrides of BaseEntity

        /// <summary>
        /// 
        /// </summary>
        public override List<string> GetDescriptiveFieldNames()
        {
            throw new System.NotImplementedException();
        }

        /// <summary>
        /// 
        /// </summary>
        public override List<string> GetIdentifyingFieldNames()
        {
            throw new System.NotImplementedException();
        }

        /// <summary>
        /// 
        /// </summary>
        public override List<string> GetAssociativeFieldNames()
        {
            throw new System.NotImplementedException();
        }

        #endregion
    }
}
